System, device and method for quantifying motion

ABSTRACT

There is provided a device for motion identification, the device comprising: an enclosure and a plurality of sensors being provided with the enclosure and configured to measure acceleration in three axes and angular motion in three axes. The acceleration may be measured in a first acceleration range and a second acceleration range,

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application claims priority on U.S. 61/867,703 filed on Aug. 20, 2013, that is hereby incorporated by reference in its entirety.

FIELD OF THE DISCLOSURE

The present disclosure relates generally to systems, devices and methods for motion capture, motion tracking, motion detection and motion quantification, especially for sport applications. More specifically, the present disclosure relates to the automatic identification, measurement and quantification of a player's individual performance, such as a hockey player.

BACKGROUND OF THE DISCLOSURE

Sport practitioners are eager to acquire motion metrics indicative of their training or gaming performance, for primarily performance improvement purpose, and secondarily for comparing their performance to those of their peers or of top professional athletes.

Sensor based motion tracking systems are limited in the complexity of gestures or movements that are able to quantify. Inertial sensor products, also known as IMU (inertial measurement units), are confined to motion tracking in sports where the predictability of actions is easier. Sport applications using IMUs remain captive of repetitive movements and simple gestures such as stride, walking or running. A stride, using a single motion sensor positioned at the foot, is probably the simplest movement to quantify.

Current sensor based motion tracking systems suffer from several limitations. No such motion tracking system today is able to detect, discriminate and quantify complex gestures in a non choreographed motion sequence. As an example, IMUs wearable on a golf glove which can detect the acceleration, velocity, tempo, position and posture of the sensor and estimate the position and movement of the golf club, are among the most advanced movement quantification systems on the market today. To use such a golf swing quantifier, the player must typically manually activate and/or configure a sensor prior to a swing, and again at the end of the swing movement, in order to specify the movement sequence to be quantified. Manual activation of the sensor prior to each movement is impractical in most sports where movements are not choreographed, such as racket sports and team sports.

Moreover, currently available IMU based motion tracking systems are limited by at least one of the two following elements: (a) they lack the capability of blind identification of motion patterns and/or (b) they lack the capability of blindly identify complex motions. In (a), by “blind” we refer to the non-choreographed nature of motion executed in most sports where the player does not “inform” the sensor of its intention to make a specific move. As an illustration, IMU-based, golf movement quantification products cannot discriminate a “golf drive” motion from a “golf putting” motion. The user must instruct the sensor of its intentions prior to each specific move. In (b), by “complex” we refer to motion that requires more than acceleration measurements to be detected and identified. In other commercial products, run movement quantifiers use either simple accelerometers or pressure sensors to detect steps, and then compute the number of steps per second to evaluate the running speed. Jump movement quantifiers for basketball use shoe-based pressure sensors to estimate jump height. Both products focus on simple motion, the “steps”, that are easy to detect and quantify by identifying the zero-velocity states, with accelerometers, or the zero pressure states with the pressure sensors. All currently available IMU based products cannot identify more complex motion hidden in motion noise. Referring to the examples mentioned above, a run movement quantifier could not detect a ball kick in a soccer game. A jump quantifier for basketball could not discriminate a three point shot from a dunk shot maneuver.

Consequently, no system of the prior art provides motion tracking system based on inertial sensors optimized for complex gestures. No system of the prior art provides motion tracking system based on inertial sensors which detect, discriminate and quantify complex gestures in a non-choreographed motion sequence. No system of the prior art provides motion tracking system based on inertial sensors which can automatically operate without being activated. No prior art system provides a motion tracking system based on inertial sensors that can be operated by a player for long period of time without the need for external systems.

Integration of motion sensors on sport equipment requires an important miniaturization effort to minimize sensors' weight and avoid obstruction so that ideally the sensors become unnoticed and do not affect movement in any way. Manufacturing cost considerations also calls for a diminution in the number of electronic components involved in the movement sensors.

SUMMARY OF THE DISCLOSURE

It would thus be highly desirable to be provided with an apparatus or a method that would at least partially solve one of the problems previously mentioned or that would be an alternative to the existing technologies.

According to one aspect, there is provided device for motion identification, the device comprising: an enclosure; and a plurality of sensors being provided with the enclosure and configured to measure acceleration in three axes and angular motion in three axes.

According to another aspect, there is provided a device for motion identification and at least one external sensor being external to the device, and being configured to measure at least one of vibration, acceleration, rotation, magnetic field, temperature, humidity, flexion, bend, orientation, distance to an object, sound, image, heart-beat, blood, wind pressure at the external sensor, wherein the controller is further configured to receive at least one measurement from the at least one external sensor, and wherein characterizing the user-executed movement is further based on the at least one measurement received from the at least one external sensor.

According to yet another aspect, therein provided a method for motion identification, the method comprising: receiving one or more measurements taken by a plurality of sensors during an user-executed movement, the measurements being representative of the user-executed movement and comprising acceleration measurements in three axes in a first acceleration range, acceleration measurements in three axis in a second acceleration range, and angular motion measurements in three axes, and characterizing the user-executed movement based on the received one or more measurements.

BRIEF DESCRIPTION OF THE DRAWINGS

The following drawings represent examples that are presented in a non-limitative manner.

FIG. 1 is a schematic projected view showing the components of the inertial sensor unit.

FIG. 2 is a schematic projected view of the enclosure part of the inertial sensor unit with stopper parts.

FIG. 3A-B-C are graphs depicting the motion patterns associated with a hockey slap shot motion.

FIG. 4A-B are flowcharts exemplifying the functioning of the motion quantifying algorithm.

FIG. 5 is an organisation chart showing the network components used by the motion quantification system and method when transmitting, using and managing performance data.

FIG. 6A-D are representations of interfaces using a hand held device, for the presentation of user profiles, performance statistics, communication of metrics and comparison of quantified motion data for a single user and several users.

DETAILED DESCRIPTION OF THE DISCLOSURE

The following examples are presented in a non-limitative manner.

“stick” as used herein refers to any sport instrument such as a stick or bat used to contact an object such as a ball, including without limitation a hockey stick, a baseball bat, a cricket bat, a golf club, a tennis racket, or a badminton racket.

“puck” or “ball” as used herein refers indistinctively to any object that is intended to interact with a stick during sport, such as without limitation, a hockey puck, a golf ball, a tennis ball, another hockey stick.

According to various exemplary embodiments, there is provided a device for motion identification and quantification, comprising: An inertial sensor to provide motion data, comprising a plurality of inertial sensors including at least one but typically three accelerometers for measuring acceleration in three axis, at least one but typically three gyroscopes for measuring angular motion in three axis, a microcontroller executing algorithms to detect, interpret and quantify motion data, a memory means to store motion data and quantified performance data, a telecommunication means to connect to a remote computer, wherein the inertial sensor measures high acceleration (ex: greater than or equal to about 10 G, greater than or equal to about 15 G, between about 10 G to about 20 G, or tens of G for measuring high impacts) and small acceleration (ex: less than about 3 G, less than about 10 G, or less than about 15 G), at different frame rates including a frame rate higher than 1000 measurements per second and a frame rate of less than 1000 measurements per second, wherein the device for motion identification and quantification is located on a single measurement point located on a stick or on a user.

For example, the inertial sensor comprises a magnetometer for measuring the strengths and direction of magnetic fields.

For example, the device is positioned inside the hollow section of a stick handle.

For example, the device is positioned near the extremity of a stick handle.

The device comprises an enclosure adapted to fit inside the hollow section of a stick, using stopper parts located at the bottom and top sections of said enclosure, each stopper part consisting of several tongues located on at least two sides of the stopper part.

For example, the device is by default in continuous operation and activates itself automatically by motion, wherein one sensor of either said accelerometer group or gyroscope group is kept powered in wake mode at all time while the inertial sensor is otherwise turned off, and wherein said one sensor can detect a vertical, lateral or rotational motion, which triggers powering on of the device.

For example, the device recognises a stick among a plurality of sticks identified with barcodes or RFID tags, wherein the device is provided with a barcode or RFID tag reading means, and wherein the sensor unit is affixed on the exterior surface of the stick, or wear by user on a glove or on a wrist

For example, the device automatically recognises when user executes a motion.

For example, the device automatically recognises when user hits an object with the stick, by detecting the vibrations and impact associated with said hit.

According to various exemplary embodiments, there is provided a system for motion identification and quantification, comprising: an inertial sensor to provide motion data, comprising a plurality of inertial sensors including at least one but typically three accelerometers for measuring acceleration in three axis, at least one but typically three gyroscopes for measuring angular motion in three axis, a microcontroller executing algorithms to detect, interpret and quantify motion data, a memory means to store motion data and quantified performance data, a telecommunication means to connect to a remote computer, a remote computer for presenting and communicating motion data and quantified performance data, at least one external sensor connected or communicating with said inertial sensor, from a group of sensors comprising sensors for sensing vibration, acceleration, rotation, magnetic field, temperature, humidity, flexion, bend, orientation (such as magnetometer), distance to an object, sound, image, heart-beat, blood, wind pressure, wherein raw sensing data from said external sensor is processed by said microcontroller.

For example, external sensor is positioned on the stick or on a user.

For example, the external sensor is a heterogeneous or homogeneous combination of several such external sensors.

For example, the said external sensor is a bending sensor to recognise mechanical bend of the appropriate part, affixed on or moulded in the blade part or the shaft part of a stick.

According to various exemplary embodiments, there is provided a method for installing and using a sensor device in the hollow section of a stick handle such as a hockey stick, the sensor device having an enclosure adapted to fit inside the hollow section of a stick, using stopper parts located at the bottom and top sections of said enclosure, each stopper part consisting of several tongues located on at least two sides of the stopper part, a comprising the steps of removing the cap that closes the hollow section at the end of the stick, placing the sensor unit in the hollow section of the stick, providing a progressive pressure downward on the sensor unit, until only the top part of enclosure 90 covers the top part of the stick handle, powering on the sensor device by a motion of the stick.

According to various exemplary embodiments, there is provided a method for identifying and quantification motion, using a sensor unit comprising an inertial sensor for providing acceleration and rotation data in three axis, a microprocessor executing algorithms for identifying and quantifying motion and memory means, located on a user or on a stick, comprising the steps of: providing raw motion data using the inertial sensor mounted on a stick or on a user, said raw motion data comprising acceleration in three axis and gravity data including angular speed variation, roll, pitch and yaw, for a given duration, detecting by correlation, from said raw motion data, the presence of motion patterns similar to motion patterns stored on a memory located on said inertial sensor, which are representative of the motion patterns associated with movements typically performed during practice of a given sport, using algorithms executed on a microcontroller on said inertial sensor, identifying by correlation, from the detected motion patterns, the type of movements performed by user, among a library of typical movements associated with a given sport stored on said memory, using algorithms executed on said microcontroller, confirming if a motion pattern qualifies or not as a typical movement, using algorithms executed on said microcontroller and, if a motion pattern qualifies, quantifying said motion, and providing quantified motion data, using raw sensing data on said memory associated with said motion processed by a second algorithms executed on said microcontroller, storing the quantified motion data and its associated raw in said memory, wherein quantified motion data provides information on a motion including its duration, its speed and angle amplitude.

For example, regarding the motion of a stick, the second algorithm computes an estimation of the maximum speed of an object hit by said stick that is representative of the real speed of said object immediately after impact, using raw data provided by said inertial sensor and quantified motion data.

For example, said quantified motion data is correlated by a second algorithm executed by microcontroller using at least one value from a group of motion metrics including “swing amplitude”, “swing duration”, “stick speed”, “stick acceleration”, “wrist effect”, “detailed flex analysis”, “motion amplitude” and “motion behaviour”.

For example, said quantified motion data is correlated by second algorithm executed by microcontroller using at least one user centric data from a group of user data including “user age”, “user gender”, “user location”, “user height”, “user weight”, “stick length”, “stick model” and “stick flex”.

For example, the algorithm, while identifying a motion pattern, discriminates and quantifies a motion pattern among motions that share same or equivalent motion patterns stored on said memory, using a larger set of motion metrics that are pre-established for each motion pattern.

For example, the sensor unit comprise a communication means used to transmit quantified motion data to the remote computer.

For example, the sensor unit is used in recording mode while specific motions are executed by user.

According to various exemplary embodiments, there is provided a method for identifying and quantification motion, using a sensing unit comprising an inertial sensor for providing acceleration and rotation data in three axis, a microprocessor executing algorithms for identifying and quantifying motion and memory means, located on a user or on a stick, comprising the steps of: automatic activation by a motion of the sensing unit, starting motion detection, wherein said sensor unit is initialized and starts real-time monitoring and analysis of sensing data from the inertial sensor, starting a potential motion event, when the algorithm detects and identifies a motion pattern associated to a backswing motion, starting a potential motion acceleration event, when the algorithm detects and identifies a motion pattern that is greater in value than a predetermined lowest threshold and lower in value than a higher threshold, starting a potential motion continuation event, when the algorithm detects and identifies a motion pattern associated to a potential downswing motion, starting potential impact detection metric, by which the algorithm monitors the variation of the sensing data over an impact detection period, and log the event as a potential impact when the variation reaches a predetermined level, starting impact detection metric, by which the algorithm detects and identifies an impact event following a downswing motion within a predetermined time period, starting shot detection, by which the algorithm confirms an impact event, and quantifies the motion metrics associated with the event.

For example, sensing data from the inertial sensor provides metric value expressed in m*rad/s³ as outputs.

According to various exemplary embodiments, there is provided a system for motion identification and quantification, comprising: a sensing unit comprising an inertial sensor for providing acceleration and rotation data in three axis, a microprocessor executing algorithms for identifying and quantifying motion, memory means hosting a database, and communication means, located on a user or on a stick, a remote computer synchronized with the sensing unit through the communication means, for updating data and usage statistics, an external computer with a database, connecting to the remote computer using a wired or wireless connection, an online platform accessible form the remote computer and the external computer, wherein sensing data from the inertial sensor and quantified motion data provided by the algorithm are transmitted from the sensing unit to the remote computer using the communication means.

For example, the remote computer connected to the online platform enables user of the remote computer to present and communicate its sport performance to other users and to compare its sport performance to those of other users.

For example, wherein the system comprises hand held devices connected to the external computer or to the remote computer that allows third parties to visualize, present, share and compare quantified motion information and user performance data.

For example, according to devices of the present disclosure, the plurality of sensors comprises three accelerometers for measuring acceleration in three axes in the first acceleration range and in the second acceleration range.

For example, according to devices of the present disclosure, the plurality of sensors comprises at least three gyroscopes for measuring the angular motion in three axes.

For example, according to devices of the present disclosure, the plurality of sensor comprises a first accelerometer group of at least three accelerometers for measuring acceleration in three axis in the first acceleration range and a second accelerometer group of at least three accelerometers for measuring acceleration in three axis in the second acceleration range.

For example, according to devices of the present disclosure, the plurality of sensors comprises at least three gyroscopes for measuring the angular motion in three axes.

For example, according to devices of the present disclosure, the first acceleration range is between about 0 G to about 10 G and wherein the second acceleration range is from at least 10 G and above.

For example, according to devices of the present disclosure, the second acceleration range is from about 10 G to about 100 G.

For example, according to devices of the present disclosure, the plurality of sensors comprises a plurality of accelerometers, a first subset of the accelerometers measuring at a high measurement rate of more than 1000 measurements per second and a second subset of the accelerometers measuring at a low measurement rate of less than 1000 measurements per second.

For example, according to devices of the present disclosure, the plurality of sensors comprises a plurality of gyroscopes, a first subset of the gyroscopes measuring at a high measurement rate of more than 1000 measurements per second and a second subset of the gyroscopes measuring at a low measurement rate of less than 1000 measurements per second.

For example, according to devices of the present disclosure, the plurality of sensor comprises a magnetometer for measuring the strength and direction of magnetic fields.

For example, according to devices of the present disclosure, the plurality of sensors comprises a plurality of magnetometers, a first subset of the magnetometers measuring at a high measurement rate of more than 1000 measurements per second and a second subset of the magnetometers measuring at a low measurement rate of less than 1000 measurements per second.

For example, according to devices of the present disclosure, the plurality of sensors are located within the enclosure in close proximity of one another.

For example, according to devices of the present disclosure, the enclosure is adapted to be positioned in the hollow section of a stick handle.

For example, according to devices of the present disclosure, the enclosure is adapted to be positioned proximate the extremity of a stick handle.

For example, according to devices of the present disclosure, the enclosure comprises one or more stopper parts each having one or more tongues for gripping the interior surface of the stick handle.

For example, according to devices of the present disclosure, the plurality of sensors are operable between a sleep state and a wake state, wherein at least one of the sensors remains in a wake state while the remainder of the sensors are operating in a sleep state, and wherein detection of a motion by the at least one sensor in the wake state triggers activating at least one of the remainder of the sensors to the wake state.

For example, devices of the present disclosure further comprise a memory to store measurements taken by the plurality of sensors; and a communication module for transmitting the stored measurements to an external device.

For example, devices of the present disclosure further comprise a controller configured for receiving one or more measurements taken by the plurality of sensors during an user-executed movement; and characterizing the user-executed movement based on the received one or more measurements.

For example, devices of the present disclosure further comprise a data storage device having stored thereon a plurality of sets of predetermined metrics; and wherein characterizing the received measurements comprises correlating the received measurements with the sets of predetermined metrics; and detecting whether the received measurements substantially matches one of the sets of predetermined metrics.

For example, according to devices of the present disclosure, the controller is further configured for when the received measurements substantially matches one of the sets of predetermined metrics, identifying the type of the user-executed movement.

For example, according to devices of the present disclosure, the controller is further configured for quantifying the user-executed movement based on the received measurements.

For example, according to devices of the present disclosure, quantifying the user-executed movement comprises quantifying a duration, speed and angle of the user-executed movement.

For example, according to devices of the present disclosure, the angle of the user-executed movement comprises an angle in a first plane and an angle in a second plane.

For example, devices of the present disclosure further comprise an identification tag reader.

For example, a system for motion identification further comprises a devices as disclosed herein, at least one external sensor being external to the device, and being configured to measure at least one of vibration, acceleration, rotation, magnetic field, temperature, humidity, flexion, bend, orientation, distance to an object, sound, image, heart-beat, blood, wind pressure at the external sensor; wherein the controller is further configured to receive at least one measurement from the at least one external sensor; and wherein characterizing the user-executed movement is further based on the at least one measurement received from the at least one external sensor.

For example, according to systems of the present disclosure, the external sensor is positioned on one of a user and a stick used during the user-executed movement.

For example, according to systems of the present disclosure, the external sensor is a bending sensor for measuring a mechanical bend of one of a blade part of a stick and a shaft part of a stick.

For example, according to systems of the present disclosure, the external sensor takes measurements at a high measurement rate or more than 1000 measurements per second and at a low measurement rate of less than 1000 measurements per second.

For example, according to methods of the present disclosure, characterizing the received measurements comprises correlating the received measurements with a plurality of sets of predetermined metrics; and detecting whether the received measurements substantially matches one of the sets of predetermined metrics.

For example, methods of the present disclosure further comprise when the received measurements substantially matches one of the sets of predetermined metrics, identifying a type of the user-executed movement.

For example, methods of the present disclosure further comprise quantifying the user-executed movement based on the received measurements.

For example, according to methods of the present disclosure, quantifying the user-executed movement comprises quantifying a duration, speed and angle of the user-executed movement.

For example, according to methods of the present disclosure, the plurality of sensor are fixed to a stick, wherein the received measurements indicate a motion of the stick, and wherein quantifying the user-executed movement comprises determining a speed of an object hit by the stick.

For example, according to methods of the present disclosure, quantifying the user-executed movement is further based on at least one additional set of predetermined motion metrics chosen from swing amplitude, swing duration, stick speed, stick acceleration, wrist effect, flex analysis, motion amplitude, and motion behavior.

For example, according to methods of the present disclosure, quantifying the user-executed movement is further based on at least one additional set of predetermined user metrics chosen from user age, user gender, user location, user height, user weight, stick length, stick model and stick flex.

For example, according to methods of the present disclosure, the plurality of sets of predetermined metrics are motion patterns.

For example, according to methods of the present disclosure, when the received measurements substantially matches more than one set of predetermined metrics, identifying the type of the user-executed movement is based on correlation of the received measurements with at least one additional set of predetermined metrics.

For example, according to methods of the present disclosure, characterizing the user-executed movement comprises detecting a motion starting event when a first subset of the received measurements substantially corresponds to one of a plurality of sets of predetermined starting event metrics, each set of predetermined starting event metrics being associated with one or more event continuation metrics; determining a presence of a motion continuation event when a second subset of the received measurements received after the first subset substantially corresponds to one of the one or more event continuation metrics associated to said one of the plurality of sets of predetermined starting event metrics; said one of the event continuation metrics being associated with one or more event completion metrics; and determining the presence of a motion completion event when a third subset of the received measurements received after the second subset substantially corresponds to one of the one or more event completion metrics associated to said one of the event continuation metrics.

For example, according to methods of the present disclosure, the motion starting event is a backswing of a stick, the motion continuation event is a downswing of a stick and the motion completion event is an impact of the stick with an object.

For example, according to methods of the present disclosure, detecting the motion starting event comprises detecting from the received measurements a motion pattern associated with the backswing of the stick; determining the presence of the motion continuation event comprises monitoring received acceleration measurements and detecting that the received acceleration measurements exceeds a predetermined acceleration threshold; and determining the presence of a motion completion event comprises monitoring over an impact detection period received measurements and detecting that the received one or more measurements exceeds an impact threshold.

For example, according to methods of the present disclosure, the plurality of sensors are operable to measure acceleration in three axes in a range of approximately 0 G to 16 G.

Many human movements associated with sport are particularly complex, especially when a player use a sport instrument such as a stick or a racket for contact on a ball or other objects. In hockey, a slap shot combines fine and precise movements at high accelerations, especially as the hockey stick hits the playing surface before hitting the puck. During a slap shot, the two upper members are in mechanical connection with a first object, the stick, to interact with a second object, the puck and surface made of ice, hard floor or turf. Accurately capturing the entire movement sequence involved in a slap shot therefore requires measurement of both low accelerations (less than 3 G) movements at a great precision and measurement of high accelerations (greater than or equal to 3 G, such as tens of G) requiring less accuracy. Such characteristics of movement can be found, with necessary adaptations, in other sports and movements such as golf swing, baseball batting and tennis, among other.

Currently, no single inertial sensor or accelerometer on the market offers a wide dynamic range enabling the concurrent capture of high and low acceleration movements at high resolution. Such an inertial sensor would have technical specifications able to provide an optimized balance between accuracy of motion detection and wide dynamic range.

With respect to a sport accessory designed to hit another object, such as a hockey stick, the ideal positioning for an inertial sensor, in terms of motion capture, would be close to the point where the performance metrics are easier to measure. For an hockey stick, the lower extremity of the stick as close to the hockey stick blade as possible, where acceleration and movement amplitude are maximal remains the intuitive placement. However, positioning a sensor on or near a hockey stick blade is impractical due to very frequent mechanical shocks affecting the stick that would damage, temporarily or permanently, the sensor. Most commercially available inertial sensor units are temporarily disabled by strong impact, where a sharp “shake” movement induces unreliable measurements. Implementing a sensor inside the stick near or on the hockey stick blade would require structural modification to the stick that would prevent user friendly retrofitting in existing sticks. Any weight addition located far from the hand placement tends to unbalance the stick in a way appreciable to most hockey players.

Consequently, no prior art system provides a motion tracking device that can be easily and practically integrated in the handle section of a sport instrument such as a hockey stick, and therefore protecting the inertial sensor against mechanical shocks, without compromising in movement tracking performance. Such a device would be simple of operation and user friendly, such that a player could easily and rapidly install the device in any stick having a hollow section.

As provided by various exemplary embodiments disclosed herein, installing the motion sensor inside the handle of existing sticks such as hockey sticks would maximize user friendliness while insulating the sensors from most mechanical shocks. A majority of hockey sticks are made of composite material with a hollow section where a sensor can be installed. However, positioning motion sensor near, on, or inside the handle part of the stick is counter-intuitive in terms of motion capture performance. The handle follows the angular motion of a stick, at a fraction of the acceleration felt by the opposite end of the stick. Moreover, hockey sticks are made of flexible material enabling the stick to gather important tension when hitting the ice, before liberating tension as kinetic energy when hitting the puck, for maximal puck speed and movement efficiency. It may be impractical to quantify the dynamic behaviour of the stick by only considering acceleration on the handle part of the stick, where the stick does not suffer bending.

After measurement, acceleration data can be processed by algorithms to first identify and then quantify movements, and acceleration data can be adapted so as to take optimal advantage of the accelerometer capabilities.

It is a challenge to offer a generic movement tracking devices intended for use by any player of a given sport, irrespective of their level of practice in such sport, while providing a consistent accuracy of movement quantification and easiness of use. Other technical difficulties lay in the nature of performance metrics to be presented to different types of users of a given sport. The value of measurement constants specific to each user (per example, length of arms or legs) must be taken in consideration. The range of motion variation for a typical movement performed across a large population of users must be considered. Yet other technical difficulty lay in the format under which the captured movement data can be presented to users in order to provide useful and accurate quantification of movement representative of the user's performance.

A need of the market that is not fully addressed by prior art is to provide a motion tracking system based on inertial sensors offering a wide dynamic range enabling the concurrent capture of high and low acceleration movements at high resolution that is optimized for complex gesture tracking.

A need of the market that is not fully addressed by prior art is to provide a motion tracking system based on inertial sensors which can detect, discriminate, identify and quantify gestures automatically among a plurality of heterogeneous non-choreographed movements.

Another need of the market that is not fully addressed by prior art is to provide a portable motion sensor which can automatically operate by recognizing movement, without the need for prior manual activation, that does not require any intervention from the player for its operation, and that can be used seamlessly over a long period of time.

Another further need of the market that is not fully addressed by prior art is to provide an inertial sensor unit of solid construction that can withstand the mechanical stress imposed on a sport instrument such as a hockey stick, that is easy to install, to calibrate and to operate with a minimum of operations while providing a high accuracy of movement quantification.

The systems, devices and methods for quantifying motion described herein according to various exemplary embodiments at least partially address these shortcomings. The systems, devices and methods for quantifying motion described herein according to various exemplary embodiments are intended to meet the needs of sport practitioners to better understand their performance during practice or competition, through movement tracking, movement analysis and quantification of movements, especially non-choreographed movements such as those encountered in racket sports and team sports.

The systems, devices and methods for quantifying motion described herein according to various exemplary embodiments may be applied for sports involving the use of a stick, a bat or a racket for contact with another object, such as a ball, a puck or another object of the same type, such as per example and without limitation ice hockey, field hockey, baseball, cricket, polo, golf, tennis, badminton and lacrosse.

According to various exemplary embodiments, a device for motion identification includes an enclosure and a plurality of sensors being provided with the enclosure and configured to measure acceleration in three axes in a first acceleration range, acceleration in three axes in a second acceleration range, and angular motion in three axes.

Referring now to FIGS. 1-2, a motion sensor unit 10 comprises an inertial sensor 20, a microcontroller 30 which executes program instructions to detect, interpret and quantify motion data, a memory means 40 to store data including motion data and performance data and a telecommunication means 50, a clock 60, a battery 70, a board 80 that holds the electronic components mentioned above and a protective enclosure 90.

The microcontroller 30 described herein may be implemented in hardware or software, or a combination of both. It may be implemented on a programmable processing device, such as a microprocessor or microcontroller, Central Processing Unit (CPU), Digital Signal Processor (DSP), Field Programmable Gate Array (FPGA), general purpose processor, and the like. In some embodiments, the programmable processing device can be coupled to program memory, which stores instructions used to program the programmable processing device to execute the controller. The program memory can include non-transitory storage media, both volatile and non-volatile, including but not limited to, random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), flash memory, magnetic media, and optical media.

The inertial sensor 20 is a sensor arrangement comprising a plurality of motion sensors, typically an accelerometer group 22 for measuring acceleration in three axis, a gyroscope group 24 for measuring angular motion in three axis and optionally magnetometers 28 for measuring the strengths and direction of magnetic fields. The accelerometer group 22 comprise a plurality of accelerometers, for example in groups of three accelerometers for multi axis measurements, of different ranges: high acceleration (ex: greater than or equal to about 10 G, greater than or equal to about 15 G, about 10 G to about 20 G, between about 10 G and about 20 G, or tens of G for measuring high impacts), small acceleration (ex: less than about 3 G, less than about 10 G, or less than about 15 G for high accuracy measurement of motions), high frame rate (higher than 1000 measurements per second for high resolution motion analysis), low frame rate (less than 1000 measurements per second, for low frequency motion detection and reduced power consumption), etc. For example, one group of three accelerometers may be operable to measure acceleration in three axes in the high acceleration range and in the small acceleration range. For example, the one group of three accelerometers may be operable to measure acceleration in three axes in an acceleration range of about 0 G to about 16 G. Technical requirements similar to those of accelerometer group 22 apply, with the necessary adaptation, to gyroscope group 24. The accelerometer group 22 and the gyroscope group 24 are typically assembled as closed as possible to one another on a single chip or on two distinct chips on board 80. Optionally, inertial sensor 20 can comprise one or several magnetometers 28. Since accelerometers have limited precision in rotational movements at constant speed, directional information may be obtained from magnetometer 28 or an electronic compass (not shown), thereby enhancing the precision of recorded data.

The raw sensor data provided by the inertial sensor 20 is received by a data acquisition system integrated to microcontroller 30. The data is then stored in memory means 40 or transmitted to a remote computer 100 such as a handheld device or a smart phone, or another external data reception system accessible locally or based on a remote network, preferably via wireless communication using telecommunications means 50.

Remote computer 100 is typically installed with an operation system, software applications and logical device with multiple processing cores and/or CPU arrangement. The remote computer 100 described herein may be implemented in computer programs executing on programmable computers, each comprising at least one processor, a data storage system (including volatile and non-volatile memory and/or storage elements), at least one input device, and at least one output device. For example, and without limitation, the programmable computer may be a programmable logic unit, a mainframe computer, server, and personal computer, cloud based program or system, laptop, personal data assistance, cellular telephone, smartphone, or tablet device.

Each program is preferably implemented in a high level procedural or object oriented programming and/or scripting language to communicate with a computer system. However, the programs can be implemented in assembly or machine language, if desired. In any case, the language may be a compiled or interpreted language. Each such computer program is preferably stored on a storage media or a device readable by a general or special purpose programmable computer for configuring and operating the computer when the storage media or device is read by the computer to perform the procedures described herein.

Memory means 40 is may be a RAM (random-access memory), DRAM or SRAM memory unit such as a flash memory drive. Communications means 50 is typically a wireless radio communication modem such as Bluetooth modem, a WiFi modem, an ANT+, a near-field communication modem, etc. Optionally, the motion sensor 10 comprise a coprocessor 52 dedicated to wired or wireless communication with a specific external computer, such as per example an authentication coprocessor by company Apple, inc. that enable connection between the sensor unit 10 and an device of the iPhone product line. Clock 60 is a real-time clock (RTC) electronic circuit that keeps time and allow time-related labelling of motion event quantifying by the microcontroller 30. Battery 70 is used to power the inertial sensor 20 and other circuits of the motion sensor unit 10, and comprise a miniaturized battery, such as a Lithium Polymer battery which capacity is defined by the required operation and standby time. Exemplary battery capacities range from 100 mAh to 500 mAh and enable operation time ranging from one to two hours to over thirty hours. A universal connector 71 on the top face of the enclosure 90 connected to microcontroller 30 allows recharging of the battery and connection to an external computer or hand held device for software updates and upgrades, and data transfer.

The sensor unit 10 may also include a battery status monitor 72 comprising a circuit 73 and a LED indicator 74 that is affixed on the external top face of the enclosure 90. A display panel 75 and an on/off switch (not shown) are also located on the top face of enclosure 90. Display panel 75, typically a liquid crystal display or OLED display is connected to microcontroller 30 and is used to provide user information such as memory means 40 status, and performance data such as movement speed, number of movements in memory, and status of a connexion to an external device using communications means 50 or the universal connector 71.

The motion sensor unit 10 is made of standard components available on the market from manufacturer such as ST Microelectronics Inc. (Scottsdale, Ariz.) or Analog Device Inc. (Norwood, Mass.) for the accelerometer 22, ST Microelectronics Inc. (Scottsdale, Ariz.) or InvenSense (Sunnyvale, Calif.) for the gyroscope 24, Texas Instruments Inc. (Dallas, Tex.) or Atmel Corporation (San Jose, Calif.) for the microcontroller 30 and memory means 40, and Roving Networks, Inc. (Los Gatos, Calif.), Texas Instruments Inc. (Dallas, Tex.) or Blueradios Inc. (Englewood, Colo.) for the communication means 50.

As shown in FIG. 2, the enclosure 90 is adapted to fit inside the hollow section of a stick (not shown) using stopper parts 92 located at the bottom and top sections of the enclosure. Each stopper part 92 comprises several tongues 94 located on each of the four sides of the stopper part and enable a tight surface contact with the internal sides of the stick's hollow handle. Enclosure 90 is made of a material such as plastic or PVC (Polyvinyl chloride) moulded plastic that is produced easily using, for example, injection moulding techniques. Installation of the sensor unit 10 requires removing the cap that closes the hollow section at the end of the stick, placing the sensor unit in the hollow section and pressing on the unit, the stopper parts 92 providing a progressive pressure, until only the top part of enclosure 90 covers the top part of the stick handle.

According to various exemplary embodiments, locating the sensor unit 10 in the handle part of a stick permits maximal user-friendliness and ease of installation, per example easy retrofitting in existing hockey sticks, allowing any user to install the sensor unit 10. Positioning the sensors on the stick handle also offer protection of the sensors against shocks.

According to various exemplary embodiments, the sensor unit 10 can be connected to and communicate with other, external sensors (not shown) which data are processed as raw data by the microcontroller 30. Said external sensors can be positioned on the stick or on the users' wear or equipment including per example and without limitation helmet, shoes, skates various protective equipment pieces, belt, wrist bands, thigh bands, arm bands, glasses, etc. Said external sensor such as a vibration sensor, an accelerometer, a gyroscope, temperature sensor, humidity sensor, flexion sensor, orientation sensor (such as magnetometer), a microphone, a camera, a video camera, a proximity sensor, any combination, heterogeneous or homogeneous, of multiple instance of sensors, etc. Such a sensor can be per example a bending sensor or a flexion affixed on or moulded on the blade part or on the shaft part of the stick to recognise mechanical bend of the appropriate part.

Motion Data Acquisition

According to an exemplary method for motion identification, measurements taken during an user-executed movement by the plurality of sensor are received and the user-executed movement is characterized based on the received measurements.

According to various exemplary embodiments, the microcontroller 30 is configured to identify and quantify several movement metrics, using the inertial sensor 20 located on a single measurement point located in the handle section of a stick or on another point maximizing the ergonomics of the product implanting the sensor unit 10. Inertial sensor 20 is configured for positioning near the handle part of a stick, without reduction in spatial sensing performance compared with positioning inertial sensors on the end section of the stick such as a hockey stick blade or a golf club head. Such arrangement raises technical difficulties not addressed by prior art, which require specific motion analysis and processing. Such sensor placement, distant from the contact point where most accurate speed measurement would be expected, requires more processing to compensate for the indirect measurements. For example, the algorithm requires user specific information, such as information related to the “length”, “curve” and “flex” of the hockey stick, in order to compute accurate speeds, accelerations and rotation speeds.

The inertial sensor 20 may provide a more efficient execution in real-time of detection algorithms (described below) for the analysis and quantification of complex movements. The inertial sensor 20 may be calibrated for the quantification of hockey movements but can be used for other sports requiring the use of a stick in complex movements such as golf, baseball, lacrosse, tennis, polo, badminton, etc.

The method for motion identification may be carried out wholly on the sensor unit 10, wholly at the remote computer 100 or partitioned between the sensor unit 10 and remote computer 100. For example, portioning the carrying out of the method between the sensor unit 10 and remote computer 100 may improve the amount of local processing on the sensor unit 10, with respect to the required data storage capacity, quantity of data to be exchanged between the sensor and remote computer 100, communication bandwidth and power consumption. According to the exemplary method, characterizing the user-executed movement includes correlating the received measurements with the sets of predetermined metrics and detecting whether the received measurements substantially matches one of the sets of predetermined metrics. The sets of predetermined metrics may be stored on the memory of the sensor unit 10, at the remote computer 100 or both. The sets of predetermined metrics may be sets of measurements that are representative of types movements that the user is expected to execute. For example, each set of predetermined metrics may be associated with a movement type. For example, the predetermined metrics may be determined during a training stage where the different movements are performed while being measured by a plurality of sensors as described herein. For example, the predetermined metrics may be motion patterns.

For example, in a first “motion detection” step, the algorithm executed by microcontroller 30 processes motion data acquired by the inertial sensor 20 in real time to detect for the presence of “known” motion patterns by a correlation process involving motion patterns (defined below) stored on memory 40. For example, new motion patterns can be “learnt” or acquired by loading a pre-existing library of motion patterns, or by using the sensor unit 10 in recording mode while specific motions are executed by user.

A motion pattern includes a string of motion data along time coordinates. Motion data refers to the raw measurement data provided by the accelerometer group 22 (accelerations in x, y, z), the gyroscope group 24 (angular speed variation, roll, pitch yaw) and optionally the magnetometer 28 (magnetic field values, Bx, By, Bz). Other sensors including without limitation spatial data, vibration, temperature, heart beat, blood pressure, or wind speed sensors, can be implanted in the sensor unit 10 and sensing data from these sensor can be used as raw data. These raw data are acquired at a sampling rate that can vary generally from several hertz (Hz) to several hundred of hertz (Hz). The best performing sensors can provide data over a thousand hertz (kHz) sampling rates. The sampling rate is usually configurable for each sport or application. Raw data is quantified on 8, 12 or 16 bits, varying with the quality of sensors and MEMS components.

According one exemplary embodiment, the microcontroller 30 focuses during the motion detection phase on a pre-established number of metrics that are representative of the motion patterns associated with movements typically performed during a given sport. A metric can be part of a motion pattern, such as a spatial acceleration or movement along x-y or x-y-z plans during a given time interval, or series of such accelerations or movements. Proper configuration allows the sensor unit to focus on the reduced number of different metrics that are representative of a motion pattern. Processing a lower number of metrics reduces computation requirements at the microcontroller 30, data storage requirement and power consumption. A fast motion will require a limited volume of motion data and small memory 40 requirements, while longer or slower motions require a greater amount of memory.

Motion patterns and metrics may be programmed as part of the executable source code run by the microcontroller 30. Each metric may be specific to a motion pattern found in a sport application.

According to various exemplary embodiments, characterizing the user-execute movement further comprises identifying the type of the user-executed movement. For example, this identifying may be carried only when a match with a set of predetermined metrics has been identified. For example, the identifying may be carried out based on the correlation with the set of predetermined metrics used for the detecting. Alternatively, the identifying may be carried out based on correlation of the received measurements with at least one additional set of predetermined metrics. For example, each of the additional set of predetermined metrics may be associated with a movement type.

For example, in a second “motion identification” step, the algorithm executed by microcontroller 30 runs a gesture detection routine that characterizes particular movements, in order to identify the type of movements performed by user, by correlation, among a library of typical movements associated with a given sport. The algorithm then confirms if a motion pattern qualifies or not as a typical movement to be quantified. During the motion identification step, the algorithm also discriminates and quantifies motions among motions that share same or equivalent motion patterns. This second step is facultative as some motions are de facto identified by the pattern recognition process of the first phase. Per example, taking ice hockey as an illustration, a “slap shot” movement can be precisely identified through pattern recognition during the motion detection phase because of its distinctive signatures involving high elevation of the stick blade, high movement amplitude and fast accelerations, as no other hockey motion shares equivalent characteristics. However, a “snap shot” motion and a “passing” motion can share several metrics such as duration, stick angle and acceleration, and may be considered as similar motion patterns. In such case a more detailed sample analysis is performed by the algorithm, using a larger set of motion metrics that are pre-established for each motion pattern. Hockey movement that can be identified by the system as motion patterns includes notably “wrist shot”, “snap shot”, “slap shot”, “dribble”, “assist”, “passing”. For some hockey movements, such as passes and assists, the system only registers the time of movement and number of movement occurrence; thus the algorithm increases value of the motion counter, and return to the motion identification step. For other hockey movements, a motion quantification must be perform in order to compute performance metrics with meaning to the user.

According to various exemplary embodiments, characterizing the user-execute movement further comprises quantifying the user-executed movement based on the received measurements.

For example, in a third “motion quantification” step, microcontroller 30 executes a second algorithm that quantifies the motion executed by user. The second algorithm is executed automatically when a movement is identified as per the motion identification step, using raw data stored on memory 40 associated with the given movement. The second algorithm calculate quantified movement data including, using a hockey shot as an illustration, the power of a throw, the duration of a movement, the amplitude of the angle of the momentum gesture. In addition, the second algorithm computes an estimate of the maximum speed of the puck. This estimate provides an approximation of the real speed of the puck immediately after impact by the stick.

Once the previous three steps are completed, the microcontroller 30 stores the computed quantified movement data and the raw data associated with movements identified and quantified, in memory 40 or transmit to the remote computer 100 using telecommunication means 50, in batch or for each individual movement. In the absence of communication link such as wireless network, the quantified movement data is stored on memory means 40, which is typically able to store data representative of several thousand movements.

According to various exemplary embodiments, the method further includes determining a speed of an object hit by a stick being used by a user in executing the movement. For example, an algorithm executed on microcontroller 30 can estimate the information on the movements of a second object that is not mechanically connected to the stick. The sensor unit can use estimation algorithms to compute motion information of a second object. For example, a sensor unit located on a hockey stick can estimate the speed achieved by the puck once hit by the player. In a possible embodiment, the sensor unit would compare the motion metrics from a single puck hit, such as a “slap shot”, to pre recorded data that have been correlated with puck speed measurement (using per example, a radar unit), in order to identify the most probable puck speed. In order to yield more accurate puck speed estimates, correlated data can include, in addition to motion and speed, player centric variables such as physical measurement, level of play, age, sex, and other player characteristics which typically impacts puck speed achieved with slap shots, that otherwise share similar motion metric when performed by different players. In another possible embodiment, a formula is used to directly compute puck speed estimation from pre recorded and correlated data. Said formula is developed using known linear regression techniques and/or known genetic algorithms. In order to increase the precision of the estimation, said linear regression or genetic algorithm can be computed for smaller reference groups, groups composed from boundaries or criteria such as player age, player level, player size and weight, etc. In all cases, the estimations assume an accurate puck hit and correct puck trajectory. In yet another embodiment, stick related information is considered by the algorithm, such as length, material, weight, blade length, blade angle and flex.

According to various exemplary embodiments, using the system in recording mode, the sensor unit 10 records raw sensor data provided by the inertial sensor 20 while the user executes specific motions with the stick. Microcontroller 30 then executes algorithms to process the recorded sensor data to identify key distinctive elements of the motion patterns. The recorded data can alternatively be processed by an external processing unit such as remote computer 100 which executes same algorithm, when the complexity of the calculation exceeds microcontroller 30 processing capabilities. The step of identifying key elements of a motion pattern is provided by a detection process, using key motion markers for real-time motion pattern recognition, and a quantification process, using formulas for performance metric computation. A key motion marker is a measurable value, which can be computed and identified in real-time, and which corresponds to a specific posture, motion metric or movement in a motion sequence. In the identification of slap shot motions, the motions “start”, “downswing start” and “impact”, as illustrated in FIGS. 3A-C, are examples of key motion markers, identified by analysing in real time the monitoring metric. A performance metric computation formula is an equation taking input data such as sensors' raw data or motion metrics, like the angular speed of the stick and acceleration at specific instants during a slap shot motion, to provide meaningful outputs in a given sport, such as in ice hockey the duration of a complete motion, the angle in degrees of the backswing and the speed of the hockey stick.

As an example, the recording mode can be used to calibrate or tune the sensor unit to a user specific motion signature. It can also provide a means to use the sensor unit in a different sport, as per example, from hockey to lacrosse, where motions are different but share similarities.

Device Activation

For ergonomic enhancements, or for robustness concerns, the sensor unit 10 can integrate an automatic start/stop mechanism, where the “on” command is triggered by a motion, e.g. an impact of at least 4 G in one or any dimension, while the “off” command can simply be triggered by a timeout, per example a duration of 30 seconds without movement. Such parameters can also be configured or turned off by user.

According to various exemplary embodiments, the plurality of sensors are operable between a sleep state and a wake state, wherein at least one of the sensors remains in a wake state while the remainder of the sensors are operating in a sleep state, and wherein detection of a motion by the at least one sensor in the wake state triggers activating at least one of the remainder of the sensors to the wake state.

For example, at least one sensor of either the accelerometer group 22 or the gyroscope group 24 is kept powered in wake mode at all time, when the sensor unit 10 is otherwise turned off, wherein said one sensor can detect a short movement such as per example and without limitation, a “shake” motion vertically, laterally or rotationally, which movement will trigger a powering on of the sensor unit 10. A shake movement is perform typically when user gets hold of or collects a stick that was stored or in an immobile position. Accordingly, user does not need to notify the motion sensor unit 10 that it will launch. The sensor unit is “listening” to all actions of the user at all time.

According to various exemplary embodiments, the device or system further includes an identification tag reader operable to read an identification code, such as a bar code or an radio-frequency identification tag (RFID tag).

As an illustration of the device activation and motion identification and quantification capabilities, a golf user would not need to configure the motion sensor; the sensor unit 10 would know which club is used (provided a sensor is installed in each club or that the sensor unit is provided with a mean of identifying specific golf clubs like barcodes or RFID tags, such as an infrared bar code reader or a radio transceiver, in which case the sensor unit can be affixed on the exterior surface of the stick for convenience, or wear by the player, typically on a glove or on a wrist), and exactly when user executes a drive (notably in detecting the vibrations and impact associated with the club impacting the ball).

Improvements provided by various exemplary embodiments described herein may include (i) faster data acquisition by the use of an inertial sensor 20 comprising plurality of sensors of high and low sensitivity and high sampling rate, including accelerometers 22, gyroscopes 24, magnetometers 28 and other sensors; (ii) acquisition of higher quality data by the identification of non-choreographed movements using algorithms executed by microcontroller 30 that identifies and validates motion metrics by comparing raw data from inertial sensor 20 to a bank of motion metrics on memory 40; (iii) richness of the motion data captured and quantified, by the use of algorithms executed by microcontroller 30 to quantify identified motion metrics and to provide usable information such as movement speed, ball or puck speed estimate, duration of movement, number of movements, etc. (iv), better ergonomic by positioning the sensor unit in the hollow section of the stick, where the sensor unit is not obstructing any user movement and is protected against shocks; (v) simplicity of installation by the user by simply sliding the sensor unit inside the hollow section of the stick; (vi) continuous operation where the sensor unit can operate at all time and active itself automatically without any operation other that a simple movement such as lifting the stick; (vii) richness of the motion quantification experience, by enabling the sensor unit to communicate with an external device where quantified motion information can be presented, communicated, compared and exchanged, notably using applications localised on hand held devices and using social networks.

Referring now to FIGS. 3A-B-C, examples of motion patterns associated with a hockey slap shot or snap shots are provided and exemplified through graphs where duration or timeline is represented in the x axis and spatial movement or acceleration is represented on the y axis. Said graphs are rendition of the combined raw data provided by the inertial sensor 20 and interpreted by the algorithms executed on microcontroller 30.

As represented by FIG. 3A, a shot motion is identified comprising the following motion patterns successively: “initial position”, “backswing”, “downswing”, “impact with the puck”, follow “through” and back to an “initial” or neutral position. The motion detection starts with a backswing of high amplitude identified as event no 1, as shown on the graph at time 6.65, followed by a sharp downswing movement starting in event 3 culminating in a impact with the puck as event no 5 and by movement follow thorough at event no 7, after which the system is idle, until a new event is detected as illustrated by the second no 1 event at time 6.87+. For example, the method is carried out by detecting and/or identifying a slap shot movement by the value of motion metrics typically characteristic of a slap shot associated with a backswing of events no 1, followed by a backswing delay identified as lapse no 4, a downswing start detection of event 3, a downswing delay identified as lapse no 7, and impact of event no 5, the full duration of the quantified movement is identified as lapse no 2 and the moving average is provided as event no 6. The moving average is an average made on a sliding window of a specific number of samples. For every new sample, the average is recalculated with the new sample, while dropping the last one of the window. Such moving average is used to confirm a strong trend within highly dynamic data stream.

As represented by FIG. 3B, a hockey shot is often characterized by an impact with ice and the puck successively, as shown by the three peaks provided by the monitoring metric graphs, said peaks being associated with the “ice contact”, “puck contact” and “release” movements and constitutes motion metrics identified and quantified. Using a stick with a certain flex coefficient, the stick will accumulated energy during the ice contact and puck contact movement, referred to as “stick loading” and is characterized notably by the duration, distance and measurement period.

For example, the sensor unit can estimate a ball or puck speed following a swing movement based on raw data provided by the inertial sensor using motion metrics from a group including movements and values such as “swing amplitude”, “swing duration”, “stick speed”, “stick acceleration”, “wrist effect”, “detailed flex analysis”, “motion amplitude” and “motion behaviour”. The precision of said puck speed estimate can be increased by the specification of user centric data using the application located on the remote computer and transmitted to the microcontroller 30 using the telecommunications means 50, such user centric data including without limitation, “user age”, “user gender”, “user location”, “user height”, “user weight”, “stick length”, “stick model”, “stick flex”.

As represented by FIG. 3C, a hockey shot is often characterized by motion metrics such as pre impact downswing and post impact downswing, before a return of the stick to an initial or idle position.

According to various exemplary embodiments the user-executed movement is characterized by detecting a motion starting event when a first subset of the received measurements substantially corresponds to one of a plurality of sets of predetermined starting event metrics. Each set of predetermined starting event metrics may be further associated with one or more event continuation metrics. Then the presence of a motion continuation event is determined. For example, there is presence of a motion continuation event when a second subset of the received measurements received after the first subset substantially corresponds to one of the one or more event continuation metrics associated to said one of the plurality of sets of predetermined starting event metrics. The sets of event continuation metrics may be further associated with one or more event completion metrics. The presence of a motion completion may be further determined when a third subset of the received measurements received after the second subset substantially corresponds to one of the one or more event completion metrics associated to the one of the event continuation metrics.

For example, in the context of a hockey movement, the motion starting motion starting event is a backswing of a stick, the motion continuation event is a downswing of a stick and the motion completion event is an impact of the stick with an object. Accordingly, detecting the motion starting event includes detecting from the received measurements a motion pattern associated with the backswing of the stick. Determining the presence of the motion continuation event comprises monitoring received acceleration measurements and detecting that the received acceleration measurements exceeds a predetermined acceleration threshold associated to the downswing of the stick. Furthermore, determining the presence of a motion completion event includes monitoring over an impact detection period received measurements and detecting that the received one or more measurements exceeds an impact threshold.

The method of movement quantification step according to one example is performed by algorithms executed by the microcontroller shown graphically in the flowcharts of FIGS. 4A-B, as is illustrated by the detection, and identification of a shot movement. The “A” bubble indicates a continuation between FIGS. 4A and 4B.

In a first step “Activation Trigger” 210, the sensor unit is automatically activated by a movement or user action on the stick, such as an acceleration or rotation.

In a second step “Shot Start Detection Process” 212, following activation, the sensor unit initializes metric values and starts the real-time monitoring and analysis of metrics. The sensor unit uses as inputs raw data from the inertial sensor, principally acceleration values Ax, Ay, Az provided by the accelerometer and angular rate values Mx, My and Mz provided by the gyroscopes, and provides a metric value expressed in m*rad/s³ as outputs. Such value illustrate a rotational speed multiplied by a linear acceleration, hence the meter*radian numerator and the second̂3 denominator. The system returns to an idle status “B” 205, when the movement stops before qualifying for a third step event.

A third step “LMIN1” 214, by which the system logs as a “local minimum #1” event referring to the start of a potential shot motion, is triggered when the algorithm detects and identify a motion pattern associated to a “Backswing Motion Start”.

A fourth step “LMAX1” 216, by which the system logs as a “local maximum #1” event referring to a potential backswing motion acceleration, is triggered when the algorithm detects and identifies a motion pattern that is greater in value than a “backswing low threshold” and lower in value than a “backswing high threshold”. The system loops in this fourth step for as long as the delay between the detection of LMIN1 and the current time is lower than the Backswing Delay (BD). If such delay is reached, the system returns to an idle status 205, when the movement identifies in step 214 fails to qualify as a “local maximum #1” event.

A fifth step “LMIN2” 218, by which the system logs as a “local minimum #2” event referring to a potential shot motion continuation, is triggered when the algorithm detects and identifies (i) a motion pattern associated to a potential “Downswing Motion Start” or to (ii) a motion associated with a potential “Backswing motion start” in which case the motion replaces the previously logged “local minimum #1”. The system loops in this fourth step for as long as the delay between the detection of LMIN1 and the current time is lower than the Backswing Delay (BD). If such delay is reached, the system returns to an idle status 205, when the movement identifies in step 216 fails to qualify as a “local minimum #2” event.

In a sixth step “Impact Detection Metric” 220, by which the system monitors the variation of the Monitoring Metric over an impact detection period, and log the event as a potential impact when the variation reaches a specific level, i.e. the “Impact Threshold” a “Downswing Motion Start”. The impact must follow a Downswing motion within a specified time period, i.e. the “Downswing Delay” or “DD” to be considered for the next step. If the impact is not registered during the specified Downswing Delay, the system returns to idle mode at step 205.

In a seventh step “Shot Detection” 222, the first algorithm confirms an impact event when the Moving Average of the Monitoring Metric reaches a specific level, i.e. the Shot Threshold, and the second algorithms quantifies the motion metrics associated with the event and computes shot statistics from the Low Minimum #2 event to the impact.

Various exemplary embodiments described herein rely on the concept of “software sensor”, or “Software Defined Sensor” (SDS). The SDS can be reprogrammed to enable the identification and quantification of wide range of movements and gestures. As SDS is designed to connect to a computer or a smart phone via a wireless Bluetooth link, it can be reprogrammed remotely by a simple update of the client application. For example, a SDS based firmware implemented on a mobile application located on a handheld device can allow the identification and quantification of “slap shots” and “short shots”, in relation to hockey. Update or upgrade of the mobile application can be downloaded from a central computer using internet or a communication network, such newer version of the mobile application may include a SDS allowing, for example, identification and quantification of “wrist shots” and of the amplitude level of the end of the movement (to estimate the speed reached by the puck after impact). The SDS platform for data acquisition can be adapted easily allowing the algorithms to identify and quantify motion metrics associated with any sport. The sensor unit 10 is typically used in recording mode to record the raw motion data associated with every pertinent motion of such new sport. The collected raw data is then processed to identify the key features of targeted motions. The result is a new detection process and a new quantification process that can be uploaded in the SDS. The SDS can therefrom detect and quantify new motions.

Referring now to FIG. 5, sensor unit 10 is connected to a remote computer 100 such as a smart phone with a processor, memory, database and associated software for configuring the sensor unit, storing data and for organizing, presenting, communicating, comparing and exchanging quantified motion information and user information representative of its profile and performance.

According to one exemplary embodiment, the sensor unit 10 synchronizes with a remote computer 100 such as a smart phone for updating data and usage statistics. The software application running on the smart phone synchronises to a localised database on a memory means connected to the smart phone, or to a remote database on an external computer 104 using a wired or wireless connection of the smart phone (cellular, WiFi, Bluetooth). This synchronization will allow the user to keep a longer history of statistics, but also to access performance data and other quantified motion data of members of a wide user community. A player performance data can be then compared to external similar data representative of other players' performance. Quantified motion data can be then presented via ergonomic, intuitive and engaging interfaces.

According to one exemplary embodiment, the remote computer 100 connects to an online platform 106 such as a social network that is accessible from a smart phone or an external computer, for the purpose of communicating, comparing and exchanging quantified motion information and user information representative of its profile and performance. The sensor unit 10 device can also be connected to interactive applications on external computers 104 or hand held device 105 such as smart phones, that allow users, trainers and coaches to analyze, present, share and compare quantified motion information and player performance data.

Referring now to FIGS. 6A-B-C-D, a hand held device 102 comprising the processor(s), memory, communication means, display and graphical interfaces necessary to execute mobile software applications for the presentation of user profiles, performance statistics, communication and comparison of quantified motion data and user information for a single users and several users.

FIG. 6A provides an example of motion analysis interface presenting ice hockey “shots” motion events metric, for each distinct motion metric, such as a “Slapshot”, as is shown in the central window of the hand held device interface. The motion analysis interface provides quantified motion data with respect to a shot motion event, such as “shot speed”, “duration”, “angle”, estimation of “puck speed”, “acceleration” and “rotation speed”.

Interfaces example shown in FIGS. 6A and 6B provides common features such as the possibility of viewing in “Live” mode, “Shots” mode or “Events” mode. In Live mode, quantified motion metrics and events metrics are presented in real time, as illustrated in FIG. 6A. In Shots mode, quantified motion metrics and events metrics are represented by lists of “shots” events of a similar category, as classified according to one criteria among a group of criteria comprising “date”, “speed”, “duration”, “puck speed”, “stick speed”, “translational acceleration” and “rotation speed”. In Event mode, quantified motion metrics and events metrics are represented by lists of “shots events of all categories presented together, and classified according to one criteria among a group of criteria comprising “date”, “speed”, “duration”, “puck speed”, and exemplifying in the top windows, the latest or best performing events of a one or two categories of events such as “SnapShot/Pass” and “Slapshot” categories, where the top performing event and average performance are represented, as is illustrated by the interface example of FIG. 6B.

User information and user performance information can be presented using an interface on the dedicated mobile application, as is illustrated by the interface example of FIG. 6C. Said user related information comprises without limitation, information such as name, address, team, position and player's number, number of events in the system, number of followers from social medias and number of other users follow by the user. Said user performance information includes “Recent events” list of events including events statistics such as speed; for each event categories such as “Snapshot/pass” and “Slapshot”, the total events (shots) and game performance (number of “goals” or “assist” over number of shot events), the top performing events defined per example by the top speed or another criteria, along with the average performance of all user events of same category.

Other users of the mobile application have the capabilities to “Follow” a user, to “Like” an event or a “Comment” an event or posting. Any user information or performance information can be shared on an online platform or social media such as Facebook, using a user Facebook account linked to the mobile application on user's remote computer or hand held device connected to a sensor unit 10.

The mobile application provides a “Leaderboard” listing comparing user's performance (virtual sport card) using user's events gathered during game or practice, as illustrated by the example of interface of FIG. 6D. The Leaderboard interface provides a listing of users performance information based on at least one criteria such as “number” of event or “top speed”, for a given event category such as “Slapshots” or “Snapshots/pass” category, during a given period such as “Last 30 days” period.

According to one exemplary embodiment, an inertial sensor unit and a mobile application connected to an online platform such as a social network, enable users to monitor their sport performance by identifying and quantifying performance events, which event information and statistics can be presented, shared, compared and commented using social medias. Per example, each “slapshot” made by a ice hockey user will receive a score based on speed; each user will receive a score based on the quality and power of its “Slapshot” score launch; this score will rank players from around the world and stimulate healthy competition. Various exemplary embodiments described herein may advantageously provide a motion tracking and quantification system, device and method optimized for complex gestures in a non choreographed motion sequence.

Various exemplary embodiments described herein may advantageously provide motion tracking system based on inertial sensor offering a wide dynamic range enabling the concurrent capture of high and low acceleration movements at high resolution that is optimized for complex gesture tracking.

Various exemplary embodiments described herein may advantageously provide a motion tracking system which can detect, discriminate and quantify complex gestures automatically among a plurality of heterogeneous non-choreographed movements.

Various exemplary embodiments described herein may advantageously a motion tracking system which can operate without the need for a specific or prior instruction or action by the user, that recognizes movements automatically and which can be used seamlessly and continually over a long period of time without the need for external systems.

Further, Various exemplary embodiments described herein may advantageously provide a motion tracking system of solid construction that can withstand the mechanical stress imposed on a sport instrument such as a hockey stick, while not affecting the behaviour of the sport instrument nor hindering user's movement in any way, while being easy to install, to calibrate and to operate with a minimum of operations and while providing a high accuracy of movement quantification.

Improvements provided by various exemplary embodiments described herein may include (i) faster data acquisition by the use of an inertial sensor comprising plurality of sensors of high and low sensitivity and high sampling rate, including accelerometers, gyroscopes, magnetometers and other sensors; (ii) acquisition of higher quality data by the identification of non-choreographed movements using algorithms executed by microcontroller that identifies and validates motion metrics by comparing raw data from inertial sensor to a bank of motion metrics on memory; (iii) richness of the motion data captured and quantified, by the use of algorithms executed by microcontroller to quantify identified motion metrics and to provide usable information such as movement speed, ball or puck speed estimate, duration of movement, number of movements, etc. (iv), better ergonomic by positioning the sensor unit in the hollow section of the stick, where the sensor unit is not obstructing any user movement and is protected against shocks; (v) simplicity of installation by the user by simply sliding the sensor unit inside the hollow section of the stick; (vi) continuous operation where the sensor unit can operate at all time and active itself automatically without any operation other that a simple movement such as lifting the stick; (vii) richness of the motion quantification experience, by enabling the sensor unit to communicate with an external device where quantified motion information can be presented, communicated, compared and exchanged, notably using applications localised on hand held devices and using social networks. The person skilled in the art would understand that the various properties or features presented in a given embodiment can be added and/or used, when applicable, to any other embodiment covered by the general scope of the present disclosure.

The present disclosure has been described with regard to specific examples. The description was intended to help the understanding of the disclosure, rather than to limit its scope. It will be apparent to one skilled in the art that various modifications can be made to the disclosure without departing from the scope of the disclosure as described herein, and such modifications are intended to be covered by the present document. 

1. A device for motion identification, the device comprising: an enclosure; and a plurality of sensors being provided with the enclosure and configured to measure acceleration in three axes in a first acceleration range, acceleration in three axes in a second acceleration range, and angular motion in three axes.
 2. The device of claim 1, wherein the plurality of sensors comprises three accelerometers for measuring acceleration in three axes in the first acceleration range and in the second acceleration range and at least three gyroscopes for measuring the angular motion in three axes.
 3. The device of claim 1, wherein the plurality of sensor comprises a first accelerometer group of at least three accelerometers for measuring acceleration in three axis in the first acceleration range and a second accelerometer group of at least three accelerometers for measuring acceleration in three axis in the second acceleration range.
 4. The device of claim 1, wherein the first acceleration range is between about 0 G to about 10 G and wherein the second acceleration range is from at least 10 G and above.
 5. The device of claim 1, wherein the plurality of sensors comprises a plurality of accelerometers, a first subset of the accelerometers measuring at a high measurement rate of more than 1000 measurements per second and a second subset of the accelerometers measuring at a low measurement rate of less than 1000 measurements per second.
 6. The device of claim 1, wherein the plurality of sensor comprises a magnetometer for measuring the strength and direction of magnetic fields.
 7. The device of claim 1, wherein the enclosure is adapted to be positioned in the hollow section of a stick handle; and wherein the enclosure comprises one or more stopper parts each having one or more tongues for gripping the interior surface of the stick handle.
 8. The device of 1, wherein the plurality of sensors are operable between a sleep state and a wake state, wherein at least one of the sensors remains in a wake state while the remainder of the sensors are operating in a sleep state, and wherein detection of a motion by the at least one sensor in the wake state triggers activating at least one of the remainder of the sensors to the wake state.
 9. The device of claim 1, further comprising a controller configured for: receiving one or more measurements taken by the plurality of sensors during an user-executed movement; and characterizing the user-executed movement based on the received one or more measurements, the characterizing comprising: correlating the received measurements with the sets of predetermined metrics; and detecting whether the received measurements substantially matches one of the sets of predetermined metrics.
 10. The device of claim 9, wherein the controller is further configured for: when the received measurements substantially matches one of the sets of predetermined metrics, identifying the type of the user-executed movement.
 11. The device of claim 10, wherein the controller is further configured for: quantifying at least one of a duration, speed and angle of the user-executed movement based on the received measurements.
 12. A system for motion identification, the system comprising: the device of claim 9; at least one external sensor being external to the device, and being configured to measure at least one of vibration, acceleration, rotation, magnetic field, temperature, humidity, flexion, bend, orientation, distance to an object, sound, image, heart-beat, blood, wind pressure at the external sensor; wherein the controller is further configured to receive at least one measurement from the at least one external sensor; and wherein characterizing the user-executed movement is further based on the at least one measurement received from the at least one external sensor; wherein the external sensor is positioned on one of a user and a stick used during the user-executed movement.
 13. The system of claim 12, wherein the external sensor is a bending sensor for measuring a mechanical bend of one of a blade part of a stick and a shaft part of a stick.
 14. A method for motion identification, the method comprising: receiving one or more measurements taken by a plurality of sensors during an user-executed movement, the measurements being representative of the user-executed movement and comprising acceleration measurements in three axes in a first acceleration range, acceleration measurements in three axis in a second acceleration range, and angular motion measurements in three axes; and characterizing the user-executed movement based on the received one or more measurements, the characterizing comprising: correlating the received measurements with a plurality of sets of predetermined metrics; and detecting whether the received measurements substantially matches one of the sets of predetermined metrics.
 15. The method of claim 14, further comprising: when the received measurements substantially matches one of the sets of predetermined metrics, identifying a type of the user-executed movement.
 16. The method of claim 15, further comprising: quantifying the user-executed movement based on the received measurements.
 17. The method of claim 16, wherein the plurality of sensor are fixed to a stick; wherein the received measurements indicate a motion of the stick, and wherein quantifying the user-executed movement comprises determining a speed of an object hit by the stick.
 18. The method of claim 17, wherein quantifying the user-executed movement is further based on at least one additional set of predetermined metrics chosen swing amplitude, swing duration, stick speed, stick acceleration, wrist effect, flex analysis, motion amplitude, and motion behavior, user age, user gender, user location, user height, user weight, stick length, stick model and stick flex.
 19. The method of claim 14, wherein characterizing the user-executed movement comprises: detecting a motion starting event when a first subset of the received measurements substantially corresponds to one of a plurality of sets of predetermined starting event metrics, each set of predetermined starting event metrics being associated with one or more event continuation metrics; determining a presence of a motion continuation event when a second subset of the received measurements received after the first subset substantially corresponds to one of the one or more event continuation metrics associated to said one of the plurality of sets of predetermined starting event metrics; said one of the event continuation metrics being associated with one or more event completion metrics; and determining the presence of a motion completion event when a third subset of the received measurements received after the second subset substantially corresponds to one of the one or more event completion metrics associated to said one of the event continuation metrics.
 20. The method of claim 19, wherein the motion starting event is a backswing of a stick, the motion continuation event is a downswing of a stick and the motion completion event is an impact of the stick with an object; and wherein detecting the motion starting event comprises detecting from the received measurements a motion pattern associated with the backswing of the stick; wherein determining the presence of the motion continuation event comprises monitoring received acceleration measurements and detecting that the received acceleration measurements exceeds a predetermined acceleration threshold; and wherein determining the presence of a motion completion event comprises monitoring over an impact detection period received measurements and detecting that the received one or more measurements exceeds an impact threshold. 